package cn.b.sky.mes.em.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.em.model.EquipmentCategory;
import cn.b.sky.mes.em.model.condition.EquipmentCategoryCondition;
import cn.b.sky.common.model.BatchJobReport;

/**
 * 
 * <strong>Title : EquipmentCategoryService.java<br></strong>
 * <strong>Package : cn.b.sky.mes.em.service<br></strong>
 * <strong>Description : </strong>设备类别业务接口<br> 
 * <strong>Create on : 2015-11-2 下午02:11:46<br></strong>
 * <p>
 * @author zhaoxin01<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface EquipmentCategoryService {
  /**
   * 
   * <strong>Title : selcetEquipmentCategoryByCondition<br></strong>
   * <strong>Description : </strong>分页查询设备类别<br> 
   * <strong>Create on : 2015-11-2 上午11:22:10<br></strong>
   * <p>
   * @param equipmentCategoryCondition
   * @return
   * List<EquipmentCategory>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public List<EquipmentCategory> selcetEquipmentCategoryByCondition(
      EquipmentCategoryCondition equipmentCategoryCondition);

  /**
   * 
   * <strong>Title : selcetEquipmentCategoryCount<br></strong>
   * <strong>Description : </strong>查询设备类别条数<br> 
   * <strong>Create on : 2015-11-2 下午01:16:37<br></strong>
   * <p>
   * @param equipmentCategoryCondition
   * @return
   * int
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public int selcetEquipmentCategoryCount(EquipmentCategoryCondition equipmentCategoryCondition);

  /**
   * 
   * <strong>Title : selectEquipmentCategoryByCode<br></strong>
   * <strong>Description : </strong>根据编号查询设备类别<br> 
   * <strong>Create on : 2015-11-2 下午01:19:41<br></strong>
   * <p>
   * @param siteCode
   * @param categoryCode
   * @return
   * EquipmentCategory
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public EquipmentCategory selectEquipmentCategoryByCode(@Param("siteCode") String siteCode,
      @Param("categoryCode") String categoryCode);

  /**
   * 
   * <strong>Title : insertEquipmentCategory<br></strong>
   * <strong>Description : </strong>新增设备类别<br> 
   * <strong>Create on : 2015-11-2 下午01:20:36<br></strong>
   * <p>
   * @param equipmentCategory
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void insertEquipmentCategory(EquipmentCategory equipmentCategory);

  /**
   * 
   * <strong>Title : updateEquipmentCategory<br></strong>
   * <strong>Description : </strong>更新设备类别<br> 
   * <strong>Create on : 2015-11-2 下午01:36:54<br></strong>
   * <p>
   * @param equipmentCategory
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void updateEquipmentCategory(EquipmentCategory equipmentCategory);

  /**
   * 
   * <strong>Title : deleteEquipmentCategory<br></strong>
   * <strong>Description : </strong>删除设备类别<br> 
   * <strong>Create on : 2015-11-2 下午01:39:38<br></strong>
   * <p>
   * @param siteCode
   * @param categoryCode
   * BatchJobReport
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public BatchJobReport deleteEquipmentCategory(@Param("siteCode") String siteCode,
      @Param("categoryCode") String categoryCode);

  /**
   * 
   * <strong>Title : selcetEquipmentCategoryForSuggest<br></strong>
   * <strong>Description : </strong>设备类别搜索建议<br> 
   * <strong>Create on : 2016年4月11日 下午8:14:13<br></strong>
   * <p>
   * @param equipmentCategoryCondition
   * @return
   * List<EquipmentCategory>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public List<EquipmentCategory> selcetEquipmentCategoryForSuggest(EquipmentCategoryCondition equipmentCategoryCondition);
}
